package com.tiheima.map;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MapDemo1 {
    public static void main(String[] args) {
//        请按以下要求顺序编码：
//定义一个：键Integer，值String类型的HashMap集合
//存储以下数据：
//        1，”张三”
//        2，“李四”
//        1，“王五”
//打印集合大小；
//使用“键找值”的方式遍历集合，打印键和值；
//使用“键值对”的方式遍历集合，打印键和值；
//获取键为1的值，并打印
//获取键为10的值，并打印
//判断集合中是否有键：10
//删除键为1的键值对，删除完毕打印集合
        HashMap<Integer, String> integerStringHashMap = new HashMap<>();
        integerStringHashMap.put(1,"张三");
        integerStringHashMap.put(2,"李四");
        integerStringHashMap.put(1,"王五");
        System.out.println(integerStringHashMap.size());   //打印集合大小
        getValue(integerStringHashMap);//使用“键找值”的方式遍历集合，打印键和值；
        getValue2(integerStringHashMap);//使用“键值对”的方式遍历集合，打印键和值；
        System.out.println(integerStringHashMap.get(1));//获取键为1的值，并打印
        System.out.println(integerStringHashMap.get(10));//获取键为10的值，并打印
        System.out.println(integerStringHashMap.containsKey(10));//判断集合中是否有键：10
        integerStringHashMap.remove(1);
        System.out.println(integerStringHashMap);//删除键为1的键值对，删除完毕打印集合

    }

    private static void getValue2(HashMap<Integer, String> integerStringHashMap) {
        Set<Map.Entry<Integer, String>> entries = integerStringHashMap.entrySet();
        for (Map.Entry<Integer, String> entry : entries) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println("key:"+key+"~"+"值:"+value);
        }
    }

    private static void getValue(HashMap<Integer, String> integerStringHashMap) {
        Set<Integer> keySet = integerStringHashMap.keySet();
        for (Integer key : keySet) {
            String value = integerStringHashMap.get(key);
            System.out.println("key:"+key+"~"+"值:"+value);
        }
    }
}
